package com.anita.member.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 上传结果封装类
 * @author qiu
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UploadResult {

    /**
     * 是否上传成功
     */
    private boolean success;

    /**
     * 文件名
     */
    private String fileName;

    /**
     * 文件访问URL
     */
    private String url;

    /**
     * 错误信息
     */
    private String errorMessage;

    /**
     * 文件大小（字节）
     */
    private Long fileSize;

    /**
     * 创建成功结果
     *
     * @param fileName 文件名
     * @param url      访问URL
     * @param fileSize 文件大小
     * @return 成功结果
     */
    public static UploadResult success(String fileName, String url, Long fileSize) {
        return new UploadResult(true, fileName, url, null, fileSize);
    }

    /**
     * 创建失败结果
     *
     * @param errorMessage 错误信息
     * @return 失败结果
     */
    public static UploadResult failure(String errorMessage) {
        return new UploadResult(false, null, null, errorMessage, null);
    }
}